Determining recommended recipients of a communication

ABSTRACT

Embodiments of the invention include a method for determining recommended recipients of a communication. The method may include determining one or more attributes for one or more members of a first group. The method may also include receiving a first list of one or more recipients to receive a communication from a sender, wherein the recipients and the sender have a relationship based on the attributes. The method may also include determining a second list of one or more recipients to receive the communication, wherein the recipients of the second list are determined by whether the attributes of the first list recipients, the sender, and the first group members comply with a set of communication rules.

TECHNICAL FIELD

The field of the invention relates to electronic communication, and morespecifically, to providing a sender of an electronic communication withinformation to determine recommended recipients.

BACKGROUND

Computer systems typically include a combination of computer programsand hardware, such as semiconductors, transistors, chips, circuitboards, storage devices, and processors. The computer programs arestored in the storage devices and are executed by the processors. Acommon feature of many computer systems is the ability to sendcommunication between users. This communication may be in the form of anemail or any other similar form of communication.

SUMMARY

Embodiments of the invention include a method for determiningrecommended recipients of a communication. The method may includedetermining one or more attributes for one or more members of a firstgroup. The method may also include receiving a first list of one or morerecipients to receive a communication from a sender, wherein therecipients and the sender have a relationship based on the attributes.The method may also include determining a second list of one or morerecipients to receive the communication, wherein the recipients of thesecond list are determined by whether the attributes of the first listrecipients, the sender, and the first group members comply with a set ofcommunication rules.

Other embodiments of the invention include a method for directing anemail communication to recipients. The method may include determiningone or more attributes for one or more members of a first group. Themethod may also include determining one or more attributes for one ormore members of a second group. The method may also include receiving afirst list of one or more recipients to receive a communication from asender, wherein the recipients and the sender have a relationship basedon the attributes. The method may also include analyzing the content ofthe communication. The method may also include determining a second listof one or more recipients to receive the communication, wherein therecipients of the second list are determined by whether the attributesof the first list recipients, the sender, and the first group memberscomply with a set of communication rules

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 depicts a high-level block diagram of an exemplary system forimplementing an embodiment of the invention.

FIG. 2 depicts a block diagram of an example data structure for apersonnel data table, according to an embodiment of the invention.

FIG. 3A depicts a block diagram of an example data structure for areceived sender/recipients table, according to an embodiment of theinvention.

FIG. 3B depicts a block diagram of an example data structure for asuggested recipients table, according to an embodiment of the invention.

FIG. 3C depicts a block diagram of an example data structure for asuggested recipients to exclude table, according to an embodiment of theinvention.

FIG. 4 depicts a block diagram of an example process for determiningrecommended recipients of a communication, according to an embodiment ofthe invention.

FIG. 5 depicts a flow chart of an example process for determiningrecommended recipients of a communication, according to an embodiment ofthe invention.

In the drawings and the Detailed Description, like numbers generallyrefer to like components, parts, steps, and processes.

DETAILED DESCRIPTION

Today's electronic devices provide users with tools to accomplish manytasks. One of those tasks may be sending communication between users inthe form of email, text messages, instant messages, or any other similarcommunication. The prevalence of email in business has increased to thepoint where it may be the preferred form of communication betweenemployees. That prevalence creates a large volume of communicationswhich may have an equally large variety of content and intendedrecipients. This may create an increased chance of sending acommunication to an unintended recipient. The consequences of which mayrange from annoying coworkers to sending sensitive information to peoplenot authorized to receive it.

Embodiments of the invention provide an automated process by which therecommended recipients of a communication are determined by analyzingthe content of the communication and the organizational attributes ofpotential recipients of that communication. This determination may beaccomplished by utilizing information from organizational sources, suchas organizational chart databases or human resource databases, andapplying communication rules to the information to determine whichrecipients should receive a communication. For example, onecommunication rule may be that an email should not be sent to themanager of the sender's manager unless it is also sent to the sender'smanager. If a sender attempts to send an email to the manager of thesender's manager without including the sender's manager as a recipient,embodiments of the invention may automatically alert the sender of theexclusion of the sender's manager as a recipient. In other embodiments,a wide range of organization information from multiple sources andmultiple companies may be used to determine recommended recipients. Theuse of this information may provide a wide variety of relationalattributes by which embodiments of the invention may provide a processfor determining the recommended recipients of a communication.

Referring to the drawings, wherein like numbers denote like partsthroughout the several views, FIG. 1 depicts a high-level block diagramrepresentation of a server computer system 100 connected to a clientcomputer system 102 via a network 104, according to an embodiment of thepresent invention. The terms “server” and “client” are used herein forconvenience only, and in various embodiments a computer system thatoperates as a client computer in one environment may operate as a servercomputer in another environment, and vice versa. The mechanisms andapparatus of embodiments of the present invention apply equally to anyappropriate computing system, including a computer system that does notemploy the client-server model.

The major components of the computer system 100 may include one or moreprocessors 106, a main memory 108, a terminal interface 110, a storageinterface 112, an I/O (Input/Output) device interface 114, and a networkinterface 116, all of which may be communicatively coupled, directly orindirectly, for inter-component communication via a memory bus 118, anI/O bus 120, and an I/O bus interface unit 122.

The computer system 100 may contain one or more general-purposeprogrammable central processing units (CPUs) 106A, 106B, 106C, and 106D,herein generically referred to as the processor 106. In an embodiment,the computer system 100 may contain multiple processors typical of arelatively large system; however, in another embodiment the computersystem 100 may alternatively be a single CPU system. Each processor 106may execute instructions stored in the main memory 108 and may includeone or more levels of on-board cache.

In an embodiment, the main memory 108 may include a random-accesssemiconductor memory, storage device, or storage medium (either volatileor non-volatile) for storing or encoding data and programs. In anotherembodiment, the main memory 108 may represent the entire virtual memoryof the computer system 100, and may also include the virtual memory ofother computer systems coupled to the computer system 100 or connectedvia the network 104. The main memory 108 may be conceptually a singlemonolithic entity, but in other embodiments the main memory 108 may be amore complex arrangement, such as a hierarchy of caches and other memorydevices.

The main memory 108 may store or encode a communication composingprogram 130, a recommended recipient program 131, a personnel data table132, an intended sender/recipients table 134, a suggested recipientstable 136, a suggested recipients to exclude table 138, andcommunication rules 140, and are hereafter collectively referred to as“memory elements.” Although the memory elements are illustrated as beingcontained within the memory 108 in the computer system 100, in otherembodiments some or all of them may be on different computer systems andmay be accessed remotely, e.g., via the network 104. The computer system100 may use virtual addressing mechanisms that allow the programs of thecomputer system 100 to behave as if they only have access to a large,single storage entity instead of access to multiple, smaller storageentities. Thus, while the memory elements are illustrated as beingcontained within the main memory 108, these elements are not necessarilycompletely contained in the same storage device at the same time.Further, although the memory elements are illustrated as being separateentities, in other embodiments some of them, portions of some of them,or all of them may be packaged together.

In an embodiment, the memory elements may include instructions orstatements that execute on the processor 106 or instructions orstatements that may be interpreted by instructions or statements thatexecute on the processor 106, to carry out the functions as furtherdescribed below with reference to FIGS. 2, 3A, 3B, 3C, 4, and 5. Inanother embodiment, the memory elements, or two or more of theseelements may be implemented in hardware via semiconductor devices,chips, logical gates, circuits, circuit cards, other physical hardwaredevices, or a combination of these devices in lieu of, or in additionto, a processor-based system. In an embodiment, the memory elements, ortwo or more of these elements may include data in addition toinstructions or statements.

The memory bus 118 may provide a data communication path fortransferring data among the processor 106, the main memory 108, and theI/O bus interface 122. The I/O bus interface 122 may be further coupledto the I/O bus 120 for transferring data to and from the various I/Ounits. The I/O bus interface unit 122 communicates with multiple I/Ointerface units 110, 112, 114, and 116, which may also be known as I/Oprocessors (IOPs) or I/O adapters (IOAs), through the I/O bus 120.

The I/O interface units support communication with a variety of storageand I/O devices. For example, the terminal interface unit 110 supportsthe attachment of one or more user I/O devices 124, which may includeuser output devices (such as a video display device, speaker, ortelevision set) and user input devices (such as a keyboard, mouse,keypad, touchpad, trackball, buttons, light pen, or other pointingdevice). A user may manipulate the user input devices utilizing a userinterface, in order to provide input data and commands to the user I/Odevice 124 and the computer system 100, and may receive output data viathe user output devices. For example, a user interface may be presentedvia the user I/O device 124, such as displayed on a display device,played via a speaker, or printed via a printer.

The storage interface 112 supports the attachment of one or more diskdrives or direct access storage devices 126 (which are typicallyrotating magnetic disk drive storage devices, although they couldalternatively be other storage devices, including arrays of disk drivesconfigured to appear as a single large storage device to a hostcomputer). In another embodiment, the storage device 126 may beimplemented via any type of secondary storage device. The contents ofthe main memory 108, or any portion thereof, may be stored to andretrieved from the storage device 126 as needed. The I/O deviceinterface 114 may provide an interface to any of various otherinput/output devices or devices of other types, such as printers or faxmachines. The network interface 116 may provide one or morecommunication paths from the computer system 100 to other digitaldevices and computer systems 102; such paths may include, e.g., one ormore networks 104.

FIG. 2 depicts a block diagram of an example data structure for apersonnel data table 132, according to an embodiment of the invention.The personnel data table may be generated by the recommended recipientprogram 131. In embodiments of the invention, the recommended recipientprogram 131 and the communication composing program 130 may be the sameprogram, and in other embodiments they may be separate programs. Thepersonnel data table 132 may include example records 202, 204, 206, 208,210, 212, 214, 216, 218, 220, and 222, shown as rows in the table. Eachrecord may include a name field 224, an email field 226, a title field228, a report to chain field 230, a same manager field 232, an extendedrelationship field 234, a people managed field, 236, a groups field 238,and a certifications field 240. Each record may represent an individualemployee within an organization. An organization may be a company, agovernment agency, a club, an association, or any other similar entitycontaining members or employees. The information contained in the fieldsmay represent attributes of the employees or members of theorganization. This information may be received from any organizationalsource. For example, some of the information may be received from anorganizational chart database that illustrates the structure of theorganization and the relationships and relative ranks of its employees.Information may also be received from human resources records, and otherinformation may be received from users of the communication composingprogram 130 or the recommended recipient program 131. Information mayalso be received from past communications. For example, metadata relatedto a particular sender's past communication patterns may be gleaned andstored within the personal data table 132. In other embodiments,organizational information may be received from more than oneorganization. For example, members of two or more companies may beinvolved in a joint venture or they may be part of a governmentstandards committee. In those embodiments, it may be necessary tonormalize the received information. For example, an organization mayrefer to managers as “managers” while another organization may refer tomanagers as “supervisors.” This may require a normalization of the termsused to refer to attributes in order to make them operative.

The name field 224, in each record, may identify the name of the personto which the personnel data applies. The email field 226 may identifythe email address of the person to which the personnel data applies. Thetitle field 228 may identify the job title of the person to which thepersonnel data applies. For example, a title 228 may be an engineer, amanager, a president or any other title associated with an employee ormember of an organization. The report to chain field 230 may identifythe direct chain of command to which each employee reports. For example,for record 210, the person known as “E” may have a manager, or mayreport directly to, the person known as “B,” while “B” may have amanager known as “A.” The same manager field 232 may identify allpersons who have the same manager as the person for which the recordapplies. For example, for record 210, “E” and “F” may have the samemanager, “B.” The extended relationship field 234 may identifyrelationships among organizational members other than those representedby other fields. For example, for record 210, “E” may receive businessguidance from “K,” but “E” and “K” have no managerial relationship,therefore the business relationship between them may be defined as anextended relationship.

The people managed field 236 may identify all persons who directlyreport to the person for which the record applies. For example, forrecord 204, “B” is the direct manager of “E” and “F.” The groups field238 may identify all groups within the organization to which the personbelongs. For example, a group designated as “POWER” may be a group thatmay be developing a system for generating power, and the members of the“POWER” group may be “E,” “J,” and “K,” therefore, each group member mayhave the “POWER” designation present in the groups field 238. Thecertifications field 240 may identify all certifications a person holds.For example, if a person is certified with respect to United Statesgovernment regulations that control the export and import ofdefense-related articles and services, then that person may be eligibleto receive an International Traffic in Arms Regulations (ITAR)communication. Other certifications may include persons eligible toreceive legal content, persons eligible to receive classifiedinformation, or any other certifications which may be used by anorganization.

The tables of FIGS. 3A, 3B, and 3C may be referred to as a recommendedrecipient program table set, and may be created or reset and repopulatedfor each individual communication received by the recommended recipientprogram 131. If the recommended recipient program table set is createdfor each communication, the recommended recipient program 131 may storeeach recommended recipient program table set within the memory 108 alongwith a copy of the communication. If the recommended recipient programtable set is reset and repopulated for each communication, therecommended recipient program 131 may store a single recommendedrecipient program table set within the memory 108 and change thequantity and value of each record within the recommended recipientprogram table set upon receipt of a new communication by the recommendedrecipient program 131.

FIG. 3A depicts a block diagram of an example data structure for anintended sender/recipients table 134, according to an embodiment of theinvention. The intended sender/recipients table 134 may include examplerecords 302, 304, 306, and 308, shown as rows in the table. Each recordmay include a name field 224 and a sender or receiver field 310. A usermay generate a communication with the communication composing program130 and within the communication the user may designate one or morepeople as intended recipients of the communication. For example, a usermay write an email and address the email by entering names or emailaddresses into the “To:,” “Cc:,” or “Bcc:” fields. The communication maybe conveyed to the recommended recipient program 131 which may generatethe intended sender/recipients table 134 by creating a record for thesender and each recipient. The sender or receiver field 310 may identifywhether each person is a recipient of the communication or the sender ofthe communication. For example, as in FIG. 3A, if “F” is the sender ofan email, the received sender/recipients table may contain record 302which contains an “S” in the S or R field 310 to show that “F” is thesender. The recommended recipient program 131 may also enter the namesin the name filed 224 as program pointers, as designated by the caretsymbol, which refer back to the record of the same name of the personneldata table 132.

FIG. 3B depicts a block diagram of an example data structure for asuggested recipients table 136, according to an embodiment of theinvention. The suggested recipients table 136 may include examplerecords 304, 312, 314, 316, 318, 306, 320, and 308, shown as rows in thetable. Each record may include a name field 224. As in FIG. 3A, eachrecord may contain a name in the name field 224 entered as a programpointer, as designated by the caret symbol, which may point back to therecord of the same name of the personnel data table 132. Each record mayrepresent an individual from the organization that the recommendedrecipient program 131 has determined should be a recipient of thecommunication. This determination may include the recommended recipientprogram 131 applying a set of communication rules 140 to the informationcontained in the intended sender/recipients table 134. The set ofcommunication rules 140 may include global rules that apply to allsenders or users of the recommended recipient program 131 or all membersof a particular organization or all employees of a particular company.The set of communication rules 140 may also include local rules that mayonly apply to communications from a particular sender or user of therecommended recipient program 131 or particular members of a group. Theset of communication rules 140 may also be determined by a manager, aprogram administrator, an individual user, or anyone else with similarpermissions to determine the set of communication rules 140. Acommunication rule may also be set by an individual user for a unique ornon-standard relationship defined by the individual. For example, theindividual may define an informal group, such as a softball team.

The set of communication rules 140 may include any number of rulesdirected to determining recommended recipients of the communication. Forexample, a communication rule may be directed to sending thecommunication to all levels of a report to chain. This rule may suggestthat if a user intends to send a communication to the manager of theuser's manager, then the user should also include the user's manager asa recipient. For example, as in FIG. 3A, if “F” intends to send an emailto “A,” then “F” should also include “B” as a recipient because “B” iswithin the report to chain between “F” and “A,” therefore, in FIG. 3B,the recommended recipient program 131 may add the example record 312 for“B” to indicate “B” as a suggested recipient of the communication. Therule directed to sending the communication to all levels of a report tochain may also suggest that if a user intends to send a communication tothe manager of a recipient's manager, then the user should also includethe recipient's manager as a recipient. For example, as in FIG. 3A, if“F” intends to send an email to “G” and “A,” then “F” should alsoinclude “C” as a recipient because “C” is within the report to chainbetween “G” and “A,” therefore in FIG. 3B, the recommended recipientprogram 131 may add the example record 314 for “C” to indicate “C” as asuggested recipient of the communication. The example record 316 for “D”is also added as a suggested recipient due to the application of thisrule.

Another communication rule may be directed to sending the communicationto all members of a group. This rule may suggest that if a user intendsto send a communication to one or more members of a group then the usershould include all members of that group as recipients of thecommunication. For example, as in FIG. 3A, if “F” intends to send anemail to “K,” then “F” should also include “E” and “J” as recipientsbecause “E” and “J” are, along with “K,” members of the “POWER” group.Therefore in FIG. 3B the recommended recipient program 131 may add theexample records 318 and 320 for “E” and “J” respectively to indicate “E”and “J” as suggested recipients of the communication. Along with thepreviously explained rules, the set of communication rules 140 maycontain any number of other communication rules which may result insuggested recipients of a communication.

FIG. 3C depicts a block diagram of an example data structure for asuggested recipients to exclude table 138, according to an embodiment ofthe invention. The suggested recipients to exclude table 138 may includeexample records 304, 312, 316, 318, 320, and 308, shown as rows in thetable. Each record may include a name field 224. As in FIG. 3A, eachrecord may contain a name in the name field 224 entered as a programpointer, as designated by the caret symbol, which may point back to therecord of the same name of the personnel data table 132. Each record mayrepresent a recipient from the suggested recipients table 136 that therecommended recipient program 131 has determined should not be arecipient of the communication. As in FIG. 3B, this determination mayinclude the recommended recipient program 131 applying a set ofcommunication rules 140 to the information contained in the intendedsender/recipients table 134. For example, a communication rule may bedirected to sending the communication to only those recipients with oneor more certifications. This rule may suggest that only persons who holdcertifications related to certain content may receive communicationscontaining that content. For example, if a communication containscontent related to United States government regulations that control theexport and import of defense-related articles and services, then anyperson who may be an intended recipient of that communication may berequired to have International Traffic in Arms Regulations (ITAR)certification. For example, as in FIG. 3B, if the communicationassociated with the suggested recipients contains ITAR content then “A,”“D,” “E,” “J,” and “K” should be not be recipients because they do nothave an ITAR certification. Therefore, in FIG. 3C, the recommendedrecipient program 131 may include the records 304, 316, 318 and 320, and308 to indicate that “A,” “D,” “E,” “J,” and “K” should be excluded asrecipients. Other certifications may include persons eligible to receivelegal content, persons eligible to receive classified information,persons outside a company or organization if proprietary content, or anyother certifications which may be used by an organization.

The set of communication rules 140 may also include any number of rulesdirected to determining recommended recipients of the communication orrecommended recipients to exclude based on the content of thecommunication. For example, the certification rule previously explainedmay be applied to the particular content present in the communication.Application of a content based rule may require a search of the textualcontent of a communication in order to find key words. Examples of keywords may be people's names, sensitive terms, legal terms, or any othersimilar textual content. The set of communication rules 140 may alsoinclude any number of rules directed to suggesting particular content toexclude or include in a communication. For example, if the communicationincludes legal content, a particular rule may suggest the inclusion of astatement that the content is subject to attorney-client privilege. Thecontent may be present in a message body, a subject line, an attachment,or any other similar content area. Other examples of rules based oncontent may include rules directed to financial records, medicalrecords, personal information, unannounced products, unannounced shipdates, policy, organizational names, or any other similar communicationcontent.

Another communication rule may be directed to limiting a total number ofrecipients of the communication. This rule may limit the total number ofrecipients that may be included in a communication. For example, therule may include a limit of twenty recipients. This may have the effectof limiting a communication from being sent to a large number ofunintended recipients. For example, if a user inadvertently selects the“reply all” option for an email, or if a user inadvertently includesevery member of an organization as recipients of the email. Along withthe previously explained rules, the set of communication rules 140 maycontain any number of other communication rules which may result insuggested persons to exclude as recipients of a communication.

In embodiments of the invention it may be possible for an organizationmember to be included on both the suggested recipients table 136 andrecipients to exclude table 138. For example, as in FIG. 3B, “A” isincluded as a suggested recipient because of the report to chain rule aspreviously explained, but, as in FIG. 3C, “A” is also included as asuggested recipient to exclude because of the certification rule. Inembodiments of the invention, it may be preferable to present thisinformation to the user or sender of the communication and allow theuser or sender to decide which rule is most preferable to adhere to, andtherefore whether to include “A” as a recipient. In other embodiments,rules may be assigned priority over other rules. For example, if thereport to chain rule has a higher priority than the certification rule,then “A” would remain as a suggested recipient and would be removed fromthe suggested recipients to exclude.

FIG. 4 depicts a block diagram of an example process for determiningrecommended recipients of a communication, according to an embodiment ofthe invention. The process may begin at block 401. Block 402 may containthe operation of determining one or more attributes for one or moremembers of an organization. As previously explained, these attributesmay be determined from organizational information, and they may bestored in the personnel data table 132. Block 404 may contain theoperation of receiving a list of one or more recipients to receive acommunication from a sender. As previously explained, the recommendedrecipient program 131 may receive a list of recipients when a usergenerates a communication using a communication composing program 130,such as an email, and the user includes intended recipients. Theintended recipients may be members of the organization from which theorganizational information is received or they may be outside theorganization. As previously explained, the intended sender/recipientstable 134 may be generated using the received list of recipients.

Block 406 may contain the operation of determining a list of one or moresuggested recipients to receive the communication. The suggestedrecipient list may include the suggested recipients table 136 and, aspreviously explained, may be determined by applying a set ofcommunication rules 140 to the sender and intended recipients of theintended sender/recipients table 134. Block 408 may contain theoperation of determining a list of one or more recipients to suggest forexclusion from receiving the communication. The suggested recipients toexclude list may include the suggested recipients to exclude table 138and, as previously explained, may be determined by applying a set ofcommunication rules 140 to the suggested recipients table 136. Block 410may contain the operation of providing the sender a report of thesuggested recipients of the communication and the suggested recipientsto exclude. This may include the recommended recipient program 131providing the report in the form of a visual display. For example, therecommended recipient program may display a message in the form of awarning to the sender of the communication. The process may end at block412.

FIG. 5 depicts a flow chart of an example process for determiningrecommended recipients of a communication, according to an embodiment ofthe invention. Control may begin at block 502. Control may then proceedto block 504 where a sender may use a communication composing program130 to create a communication, such as an email. Creating thecommunication may result in creating data for one or more intendedrecipients 134 and some form of communication content 508. At block 510,the recommended recipient program 131 may receive the intended recipientdata 134 and the communication content 508, which may include text,figures, photos, files, or any other similar content. Also, therecommended recipient program may receive or may already have thecommunication rules 140 and the personnel data 132. The recommendedrecipient program 131 may apply the communication rules 140 to thecommunication content 508 and the personnel data 132 corresponding tothe received intended recipients 134. The recommended recipient program131 may output a list of suggested recipients 136 and a list ofsuggested recipients to exclude 138. Control may then proceed to block520 where the recommended recipient program 131 displays the suggestedrecipients 136 and the suggested recipients to exclude 138 to thecommunication sender. Control may end at block 522.

Referring back to FIG. 1, in various embodiments, the computer system100 may be a multi-user mainframe computer system, a single-user system,or a server computer or similar device that has little or no direct userinterface, but receives requests from other computer systems (clients).In other embodiments, the computer system 100 may be implemented as adesktop computer, portable computer, laptop or notebook computer, tabletcomputer, pocket computer, telephone, smart phone, or any otherappropriate type of electronic device.

The computer system 102 may include some or all of the hardware and/orcomputer program elements of the computer system 100. The variousprogram components implementing various embodiments of the invention maybe implemented in a number of manners, including using various computerapplications, routines, components, programs, objects, modules, datastructures, etc., and are referred to herein as “computer programs,” orsimply “programs.”

The computer programs include one or more instructions or statementsthat are resident at various times in various memory and storage devicesin the computer system 100 and that, when read and executed by one ormore processors in the computer system 100, or when interpreted byinstructions that are executed by one or more processors, cause thecomputer system 100 to perform the actions necessary to execute steps orelements including the various aspects of embodiments of the invention.Aspects of embodiments of the invention may be embodied as a system,method, or computer program product. Accordingly, aspects of embodimentsof the invention may take the form of an entirely hardware embodiment,an entirely program embodiment (including firmware, resident programs,micro-code, etc., which are stored in a storage device), or anembodiment combining program and hardware aspects that may all generallybe referred to herein as a “circuit,” “module,” or “system.” Further,embodiments of the invention may take the form of a computer programproduct embodied in one or more computer-readable medium(s) havingcomputer-readable program code embodied thereon.

Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer-readable signalmedium or a computer-readable storage medium. For example, acomputer-readable storage medium may be, but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (an non-exhaustive list) of thecomputer-readable storage media may include: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM) or Flash memory, an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer-readable storagemedium may be any tangible medium that can contain, or store, a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied thereon, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that communicates,propagates, or transports a program for use by, or in connection with,an instruction execution system, apparatus, or device. Program codeembodied on a computer-readable medium may be transmitted using anyappropriate medium, including but not limited to, wireless, wire line,optical fiber cable, Radio Frequency, or any suitable combination of theforegoing.

Computer program code for carrying out operations for aspects ofembodiments of the present invention may be written in any combinationof one or more programming languages, including object orientedprogramming languages and conventional procedural programming languages.The program code may execute entirely on the user's computer, partly ona remote computer, or entirely on the remote computer or server. In thelatter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

Aspects of embodiments of the invention are described below withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems), and computer program products. Each block of theflowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams may beimplemented by computer program instructions embodied in acomputer-readable medium. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified by the flowchartand/or block diagram block or blocks. These computer programinstructions may also be stored in a computer-readable medium that candirect a computer, other programmable data processing apparatus, orother devices to function in a particular manner, such that theinstructions stored in the computer-readable medium produce an articleof manufacture, including instructions that implement the function/actspecified by the flowchart and/or block diagram block or blocks.

The computer programs defining the functions of various embodiments ofthe invention may be delivered to a computer system via a variety oftangible computer-readable storage media that may be operatively orcommunicatively connected (directly or indirectly) to the processor orprocessors. The computer program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other devicesto cause a series of operational steps to be performed on the computer,other programmable apparatus, or other devices to produce acomputer-implemented process, such that the instructions, which executeon the computer or other programmable apparatus, provide processes forimplementing the functions/acts specified in the flowcharts and/or blockdiagram block or blocks.

The flowchart and the block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products, according to variousembodiments of the present invention. In this regard, each block in theflowcharts or block diagrams may represent a module, segment, or portionof code, which includes one or more executable instructions forimplementing the specified logical function(s). In some embodiments, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. Each block of the block diagrams and/or flowchartillustration, and combinations of blocks in the block diagrams and/orflow chart illustrations, can be implemented by special purposehardware-based systems that perform the specified functions or acts, incombinations of special purpose hardware and computer instructions.

Embodiments of the invention may also be delivered as part of a serviceengagement with a client corporation, nonprofit organization, governmententity, or internal organizational structure. Aspects of theseembodiments may include configuring a computer system to perform, anddeploying computing services (e.g., computer-readable code, hardware,and web services) that implement, some or all of the methods describedherein. Aspects of these embodiments may also include analyzing theclient company, creating recommendations responsive to the analysis,generating computer-readable code to implement portions of therecommendations, integrating the computer-readable code into existingprocesses, computer systems, and computing infrastructure, metering useof the methods and systems described herein, allocating expenses tousers, and billing users for their use of these methods and systems. Inaddition, various programs described herein may be identified based uponthe application for which they are implemented in a specific embodimentof the invention. But, any particular program nomenclature used hereinis used merely for convenience, and thus embodiments of the inventionare not limited to use solely in any specific application identifiedand/or implied by such nomenclature. The exemplary environmentsillustrated in FIG. 1 are not intended to limit the present invention.Indeed, other alternative hardware and/or program environments may beused without departing from the scope of embodiments of the invention.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “includes”and/or “including,” when used in this specification, specify thepresence of the stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. In the previous detailed descriptionof exemplary embodiments of the invention, reference was made to theaccompanying drawings (where like numbers represent like elements),which form a part hereof, and in which is shown by way of illustrationspecific exemplary embodiments in which the invention may be practiced.These embodiments were described in sufficient detail to enable thoseskilled in the art to practice the invention, but other embodiments maybe utilized and logical, mechanical, electrical, and other changes maybe made without departing from the scope of the present invention. Inthe previous description, numerous specific details were set forth toprovide a thorough understanding of embodiments of the invention. But,embodiments of the invention may be practiced without these specificdetails. In other instances, well-known circuits, structures, andtechniques have not been shown in detail in order not to obscureembodiments of the invention.

Different instances of the word “embodiment” as used within thisspecification do not necessarily refer to the same embodiment, but theymay. Any data and data structures illustrated or described herein areexamples only, and in other embodiments, different amounts of data,types of data, fields, numbers and types of fields, field names, numbersand types of rows, records, entries, or organizations of data may beused. In addition, any data may be combined with logic, so that aseparate data structure may not be necessary. The previous detaileddescription is, therefore, not to be taken in a limiting sense.

What is claimed is:
 1. A method for directing a communication torecipients, comprising: determining one or more attributes for one ormore members of a first group; determining one or more attributes forone or more members of a second group; normalizing the attributes of thefirst group members with the attributes of the second group members;receiving, from a sender of the communication, a first set ofcommunication content and a first list of one or more recipients of thecommunication, wherein particular attributes define a relationshipbetween the first list recipients and the sender; determining, byanalyzing the first set of communication content, a file size for thefirst set of communication content; determining, based on the file sizefor the first set of communication content, a second list of one or moresuggested recipients of the communication, wherein the second list ofsuggested recipients is determined by whether the attributes of thefirst list recipients, the sender, and the first group members complywith a set of communication rules; parsing, in response to determiningthe second list of one or more suggested recipients to receive thecommunication, the first set of communication content; and suggesting,based on parsing the first set of communication content and the secondlist of one or more suggested recipients, a second set of communicationcontent related to the first set of communication content for inclusionin the communication.
 2. The method of claim 1, wherein thedetermination of the second list of suggested recipients includesidentifying one or more first group members that are not included in thefirst list of recipients.
 3. The method of claim 1, wherein thedetermination of the second list of suggested recipients includesidentifying one or more first list recipients for exclusion from thesecond list of suggested recipients.
 4. The method of claim 1, furthercomprising analyzing one or more content elements of the communication.5. The method of claim 1, further comprising reporting the determinationof the second list of suggested recipients.
 6. A method for directing anemail communication to recipients, comprising: determining one or moreattributes for one or more members of a first group; determining one ormore attributes for one or more members of a second group; normalizingthe attributes of the first group members with the attributes of thesecond group members; receiving, from a user, a first set ofcommunication content and a first list of one or more recipients toreceive the email communication, wherein particular attributes define arelationship between the first list recipients and the user; analyzingone or more content elements of the email communication; determining, byanalyzing the first set of communication content, a file size for thefirst set of communication content; determining, based on the file sizefor the first set of communication content, a second list of one or moresuggested recipients to receive the communication, wherein the secondlist of suggested recipients is determined by whether the attributes ofthe first list recipients, the user, and the first and second groupmembers and the content elements comply with a set of communicationrules; parsing, in response to determining the second list of one ormore suggested recipients to receive the communication, the first set ofcommunication content; and suggesting, based on parsing the first set ofcommunication content and the second list of one or more suggestedrecipients, a second set of communication content related to the firstset of communication content for inclusion in the communication.
 7. Themethod of claim 6, further comprising changing the content elements inorder to comply with the set of communication rules.
 8. A nontransitorycomputer readable storage medium having instructions stored thereonwhich, when executed, cause a processor to perform the followingoperations: determining one or more attributes for one or more membersof a first group; determining one or more attributes for one or moremembers of a second group; normalizing the attributes of the first groupmembers with the attributes of the second group members; receiving, froma sender of the communication, a first set of communication content anda first list of one or more recipients of the communication, whereinparticular attributes define a relationship between the first listrecipients and the sender; determining, by analyzing the first set ofcommunication content, a file size for the first set of communicationcontent; determining, based on the file size for the first set ofcommunication content, a second list of one or more suggested recipientsof the communication, wherein the second list of suggested recipients isdetermined by whether the attributes of the first list recipients, thesender, and the first group members comply with a set of communicationrules; parsing, in response to determining the second list of one ormore suggested recipients to receive the communication, the first set ofcommunication content; and suggesting, based on parsing the first set ofcommunication content and the second list of one or more suggestedrecipients, a second set of communication content related to the firstset of communication content for inclusion in the communication.
 9. Themethod of claim 1, wherein the particular attributes that define therelationship between the first list recipients and the sender include anorganizational position and a set of certifications.
 10. The method ofclaim 1, wherein determining one or more attributes for one or moremembers of the first group includes: parsing an organizational hierarchytable including personnel data for a first group of individuals; andidentifying, in response to parsing the organizational hierarchy tableincluding personnel data for the first group of individuals, the one ormore attributes based on the personnel data.
 11. The method of claim 10,further comprising: identifying, in response to parsing theorganizational hierarchy table including personnel data for a firstgroup of individuals, a first subgroup of the first group ofindividuals, the first subgroup having a first certification; andexcluding, from the second list of one or more suggested recipients, thefirst subgroup.
 12. The method of claim 1, wherein the second list ofone or more suggested recipients includes one or more individualsselected from the first group of individuals.
 13. The method of claim 1,wherein normalizing the attributes of the first group members with theattributes of the second group members includes: extracting a firstsemantic element corresponding to the first group members and a secondsemantic element corresponding to the second group members; determining,using the first semantic element and the second semantic element, ashared attribute related to both the first group members and the secondgroup members; and assigning, to the first group members and the secondgroup members, the shared attribute.
 14. The method of claim 1, furthercomprising: collecting, in response to determining a second list of oneor more suggested recipients of the communication, communication data;assigning, based on analyzing the communication data, a first priorityto a first communication rule of the set of communication rules and asecond priority to a second communication rule of the set ofcommunication rules.
 15. The method of claim 13, further comprising:identifying a conflict between the first communication rule and thesecond communication rule; determining, by comparing the first priorityof the first communication rule with the second priority of the secondcommunication rule, that the first priority trumps the second priority;and instantiating, in response to determining that the first prioritytrumps the second priority, the first communication rule.
 16. The methodof claim 1, further comprising excluding, based on the file size, asecond subgroup from the second list of one or more suggestedrecipients.
 17. The method of claim 1, further comprising filtering,based on parsing the first set of communication content and the secondlist of one or more suggested recipients, a portion of the first set ofcommunication content from the communication.
 18. The method of claim10, further comprising: identifying, in response to parsing theorganizational hierarchy table including personnel data for a firstgroup of individuals, a report chain for the first group of individuals,the report chain including a set of management levels; determining,based on parsing the organizational hierarchy table including personneldata for a first group of individuals, a first management level of theset of management levels, wherein the first management level correspondsto the sender of the communication; determining, in response toreceiving the first list of one or more recipients of the communication,a second management level of the set of management levels, wherein thesecond management level corresponds to a first recipient of the firstlist of one or more recipients; and suggesting, based on the firstmanagement level corresponding to the sender of the communication andthe second management level corresponding to the first recipient, asecond recipient corresponding to a third management level of the set ofmanagement levels.